// utils/fresh-theme.js
// Fresh and natural color palette for on-demand search page

const FreshTheme = {
  // Primary Colors - Fresh and Natural
  colors: {
    // Main brand colors - Fresh and natural
    primary: '#67C23A',        // Fresh green - nature focused
    primaryLight: '#85CE61',   // Light green for highlights
    primaryDark: '#529B2E',    // Darker green for depth
    
    // Secondary colors - Natural tones
    secondary: '#409EFF',      // Sky blue - clean and fresh
    accent: '#E6A23C',         // Warm orange - earth tone
    warning: '#F56C6C',        // Coral pink - natural warning
    success: '#67C23A',        // Same as primary for consistency
    
    // Background colors - Light and airy
    bgPrimary: '#FFFFFF',      // Pure white
    bgSecondary: '#FAFBFC',    // Very light gray
    bgTertiary: '#F5F7FA',     // Light gray with blue tint
    bgCard: '#FFFFFF',         // Card background
    bgOverlay: 'rgba(0, 0, 0, 0.3)', // Light overlay
    
    // Text colors - Natural and readable
    textPrimary: '#303133',    // Dark gray for primary text
    textSecondary: '#606266',  // Medium gray for secondary text
    textTertiary: '#909399',   // Light gray for tertiary text
    textMuted: '#C0C4CC',      // Very light gray for muted text
    textWhite: '#FFFFFF',      // White text for dark backgrounds
    
    // Border and divider colors
    border: '#DCDFE6',         // Light border
    borderLight: '#E4E7ED',    // Very light border
    divider: '#EBEEF5',        // Divider color
    
    // Fresh nature-inspired gradients
    gradientPrimary: 'linear-gradient(135deg, #67C23A 0%, #85CE61 100%)',
    gradientSecondary: 'linear-gradient(135deg, #409EFF 0%, #79BBFF 100%)',
    gradientCard: 'linear-gradient(135deg, #FFFFFF 0%, #FAFBFC 100%)',
    gradientAccent: 'linear-gradient(135deg, #E6A23C 0%, #EEBE77 100%)',
    gradientSoft: 'linear-gradient(135deg, #F5F7FA 0%, #FFFFFF 100%)',
    
    // Nature-inspired filter colors
    filterAge: '#FFE4B5',      // Moccasin - warm and natural
    filterGender: '#E6E6FA',   // Lavender - soft and gentle
    filterHeight: '#F0E68C',   // Khaki - earth tone
    filterEducation: '#DDA0DD', // Plum - sophisticated
    filterIncome: '#98FB98',   // Pale green - money/growth
    filterOccupation: '#F4A460', // Sandy brown - professional
    filterLocation: '#87CEEB', // Sky blue - travel/location
    filterHobbies: '#FFB6C1',  // Light pink - fun and playful
  },
  
  // Spacing for natural feel
  spacing: {
    xs: '6rpx',
    sm: '12rpx',
    md: '20rpx',
    lg: '32rpx',
    xl: '48rpx',
    xxl: '64rpx',
  },
  
  // Soft, rounded corners for natural feel
  borderRadius: {
    sm: '6rpx',
    md: '12rpx',
    lg: '20rpx',
    xl: '28rpx',
    circle: '50%',
  },
  
  // Soft shadows for natural depth
  shadows: {
    soft: '0 2rpx 12rpx rgba(0, 0, 0, 0.1)',
    medium: '0 4rpx 20rpx rgba(0, 0, 0, 0.15)',
    large: '0 8rpx 32rpx rgba(0, 0, 0, 0.2)',
    floating: '0 12rpx 40rpx rgba(0, 0, 0, 0.15)',
    inner: 'inset 0 2rpx 4rpx rgba(0, 0, 0, 0.1)',
  },
  
  // Typography for natural readability
  typography: {
    fontFamily: '-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif',
    fontSize: {
      xs: '20rpx',
      sm: '24rpx',
      md: '28rpx',
      lg: '32rpx',
      xl: '36rpx',
      xxl: '42rpx',
      xxxl: '48rpx',
    },
    fontWeight: {
      light: 300,
      normal: 400,
      medium: 500,
      semibold: 600,
      bold: 700,
    },
  },
  
  // Natural animations
  animations: {
    duration: {
      fast: '200ms',
      normal: '300ms',
      slow: '500ms',
    },
    easing: {
      natural: 'cubic-bezier(0.25, 0.8, 0.25, 1)',
      bounce: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',
      smooth: 'cubic-bezier(0.4, 0, 0.2, 1)',
    },
  },
  
  // Circular filter configurations
  circularFilters: {
    // Basic filters as circles with different sizes
    basic: [
      {
        id: 'age',
        label: '年龄',
        icon: '🎂',
        size: 'large',     // 120rpx
        color: '#FFE4B5',
        activeColor: '#E6A23C',
        position: { x: 20, y: 15 },
      },
      {
        id: 'gender',
        label: '性别',
        icon: '👥',
        size: 'medium',    // 100rpx
        color: '#E6E6FA',
        activeColor: '#8A2BE2',
        position: { x: 60, y: 30 },
      },
      {
        id: 'height',
        label: '身高',
        icon: '📏',
        size: 'small',     // 80rpx
        color: '#F0E68C',
        activeColor: '#DAA520',
        position: { x: 25, y: 55 },
      },
      {
        id: 'education',
        label: '学历',
        icon: '🎓',
        size: 'large',     // 120rpx
        color: '#DDA0DD',
        activeColor: '#9932CC',
        position: { x: 70, y: 70 },
      },
      {
        id: 'income',
        label: '收入',
        icon: '💰',
        size: 'medium',    // 100rpx
        color: '#98FB98',
        activeColor: '#32CD32',
        position: { x: 15, y: 85 },
      },
      {
        id: 'occupation',
        label: '职业',
        icon: '💼',
        size: 'small',     // 80rpx
        color: '#F4A460',
        activeColor: '#CD853F',
        position: { x: 55, y: 10 },
      },
    ],
    
    // Size definitions
    sizes: {
      small: '80rpx',
      medium: '100rpx',
      large: '120rpx',
    },
  },
  
  // Swipe animation configurations
  swipeConfig: {
    sensitivity: 50,     // Minimum distance to trigger swipe
    animationDuration: 300, // Animation duration in ms
    snapPoints: [0, 33, 66, 100], // Snap to these percentages
  },
}

module.exports = FreshTheme